package com.admin.util;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class DateUtil {
	/**
	 * 将date类型格式化返回string
	 * @param date
	 * @param format
	 * @return
	 */
	public static String format(Date date,String format){
		DateFormat df = new SimpleDateFormat(format);
		return df.format(date);
	}
	
	/**
	 * 将string格式的date格式化，并增加或减少天数
	 * @param date
	 * @param format
	 * @param day
	 * @return
	 */
	public static String addDay(String date,String format,int day){
		try {
			DateFormat df = new SimpleDateFormat(format);
			Date dd = df.parse(date);
			Calendar calendar = new GregorianCalendar(); 
	        calendar.setTime(dd); 
	        calendar.add(calendar.DATE,day);//把日期往后增加一天.整数往后推,负数往前移动 
	        dd=calendar.getTime();   //这个时间就是日期往后推一天的结果 
	        return df.format(dd);
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}
	
	/**
	 * 奖date类型的日期格式化，并增加或减少天数
	 * @param date
	 * @param format
	 * @param day
	 * @return
	 */
	public static String addDay(Date date,String format,int day){
		try {
			DateFormat df = new SimpleDateFormat(format);
			Calendar calendar = new GregorianCalendar(); 
	        calendar.setTime(date); 
	        calendar.add(calendar.DATE,day);//把日期往后增加一天.整数往后推,负数往前移动 
	        date=calendar.getTime();   //这个时间就是日期往后推一天的结果 
	        return df.format(date);
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}

	/**
	 * 将毫秒转化为date日期
	 * @param time
	 * @return
	 */
	public static String stampToDate(String time){
		try {
			SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
		    String sd = sdf.format(new Date(Long.parseLong(time))); 
	        return sd;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

	public static void main(String[] args) {
		//System.out.println(DateUtil.addDay(new Date(),"yyyy-MM-dd 18:00:00",-1));
		System.out.println(stampToDate((Long.parseLong("1469889775")*1000)+""));
		
		System.out.println(format(new Date(),"yyyy-MM-dd 00:00:00"));
	}
}
